home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha Extra 2004 January / CyberMycha Extra 1-2004 (Poland) (Disc 2).bin / Pippi / gmgs.dir / Internal_149_thingsCat.ls < prev    next >
Encoding:
Text File  |  2001-09-05  |  2.2 KB  |  102 lines

  1. property meSprite, xxWidht, xWidht, startPos, onStage, moveAnt, jumpable, played
  2. global gmObject
  3.  
  4. on beginSprite me
  5.   played = 0
  6.   meSprite = sprite(me.spriteNum)
  7.   xxWidht = meSprite.member.width
  8.   xWidht = meSprite.member.width / 2
  9.   gmObject.reportThing(me.spriteNum)
  10.   jumpable = value(meSprite.member.name)
  11.   setSpeed(me)
  12.   onStage = 0
  13. end
  14.  
  15. on setSpeed me
  16.   speed = gmObject.speed
  17.   if speed = 0 then
  18.     moveAnt = point(0, 0)
  19.   else
  20.     moveAnt = point(-3, 6) + (point(-2, 4) * speed)
  21.   end if
  22. end
  23.  
  24. on locZup me
  25.   if meSprite.jumpable = 0 then
  26.     if meSprite.locZ <> (me.spriteNum + 50) then
  27.       meSprite.locZ = me.spriteNum + 50
  28.       updateStage()
  29.     end if
  30.   end if
  31. end
  32.  
  33. on locZdown me
  34.   if meSprite.jumpable = 0 then
  35.     if meSprite.locZ <> me.spriteNum then
  36.       meSprite.locZ = me.spriteNum
  37.       updateStage()
  38.     end if
  39.   end if
  40. end
  41.  
  42. on setOn me, pNumH, pMyNumH
  43.   secPos = -105
  44.   case pNumH of
  45.     1:
  46.       if xxWidht > 200 then
  47.         v = random(2)
  48.         if v = 1 then
  49.           startPos = point(random(300 - xxWidht) + (180 + xWidht), secPos)
  50.         else
  51.           startPos = point(random(300 - xxWidht) + (680 + xWidht), secPos)
  52.         end if
  53.       else
  54.         startPos = point(random(600 - xxWidht) + (280 + xWidht), secPos)
  55.       end if
  56.     2:
  57.       if xxWidht > 180 then
  58.         setOff(me)
  59.         exit
  60.       end if
  61.       case pMyNumH of
  62.         1:
  63.           startPos = point(random(340 - xxWidht) + (280 + xWidht), secPos)
  64.         2:
  65.           startPos = point(random(340 - xxWidht) + (550 + xWidht), secPos)
  66.       end case
  67.   end case
  68.   meSprite.loc = startPos
  69.   updateStage()
  70.   if gmObject.intersectTestX(meSprite.rect, meSprite) = 1 then
  71.     setOff(me)
  72.     exit
  73.   end if
  74.   onStage = 1
  75. end
  76.  
  77. on setOff me
  78.   onStage = 0
  79.   meSprite.locZ = me.spriteNum
  80.   meSprite.loc = point(0, 900)
  81.   gmObject.reCoverThing(meSprite)
  82.   played = 0
  83. end
  84.  
  85. on exitFrame me
  86.   if onStage = 1 then
  87.     if meSprite.locV < 650 then
  88.       meSprite.loc = meSprite.loc + moveAnt
  89.       if inside(meSprite.loc, sprite(55).rect) then
  90.         if soundBusy(2) = 0 then
  91.           if played = 0 then
  92.             played = 1
  93.             sound(2).play(member("cat", 1))
  94.           end if
  95.         end if
  96.       end if
  97.     else
  98.       setOff(me)
  99.     end if
  100.   end if
  101. end
  102.